Sensing devices and systems including examples of pairing sensing devices to containers

ABSTRACT

Examples of systems and methods are described herein including sensing devices and pairing sensing devices to containers. In some examples, sensing devices may be used to weigh liquid-containing containers. Responsive to changes in weight readings indicative of a change in a container being weighed by a sensing device, a user may be prompted on a user device to associate updated container size and contents with the sensing device. Systems and methods described herein may facilitate accurate inventory management and menu display of liquid available in containers.

TECHNICAL FIELD

Examples described herein include examples of sensing devices which mayobtain a weight of an associated container and transmit the weight to acomputing system. Examples of pairing the sensing device to a container,e.g. a keg, are described which may take place using a softwareapplication, such as a software application on a mobile communicationdevice.

BACKGROUND

Establishments such as restaurants and bars frequently receive productsconsumed by customers, such as beverages, from distributors. When anestablishment runs low on certain products, the establishment typicallycontacts the distributor to resupply the establishment's stock ofproducts. However, this process can be time consuming, especially whenit is difficult for the establishment to ascertain the quantity ofcertain products, such as when those products are supplied in bulk, suchas in kegs.

Moreover, establishments such as restaurants may change their productofferings from time to time, such as by changing available brew types.It may be time consuming to keep updated menus available for consumers.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic illustration of a sensing device arranged inaccordance with examples described herein.

FIG. 2 is a schematic illustration of a sensing device arranged inaccordance with examples described herein.

FIG. 3 is a schematic illustration of a sensing device arranged inaccordance with examples described herein.

FIG. 4 is a schematic illustration of components included in a sensingdevice arranged in accordance with examples described herein.

FIG. 5 is a schematic illustration of a bottom view of the sensingdevice shown in FIG. 1-FIG. 3 arranged in accordance with examplesdescribed herein.

FIG. 6 is a schematic illustration of a system arranged in accordancewith examples described herein.

FIG. 7 is a flowchart of a method in accordance with examples describedherein.

FIG. 8 is a flowchart of a method arranged in accordance with examplesdescribed herein.

FIG. 9 is a screenshot from a user device display arranged in accordancewith examples described herein.

FIG. 10 is a screenshot from a user device display arranged inaccordance with examples described herein.

FIG. 11 is a screenshot from a user device display arranged inaccordance with examples described herein.

FIG. 12 is a screenshot from a user device display arranged inaccordance with examples described herein.

FIG. 13 is a screenshot from a user device display arranged inaccordance with examples described herein.

FIG. 14 is an illustration of a display screen providing a reportarranged in accordance with examples described herein,

FIG. 15 is a display image of a digital display of a menu arranged inaccordance with examples described herein.

DETAILED DESCRIPTION

Certain details are set forth below to provide a sufficientunderstanding of embodiments of the invention. However, it will be clearto one skilled in the art that embodiments of the invention may bepracticed without various of these particular details. In someinstances, well-known beverage industry components, circuits, controlsignals, timing protocols, computing system components, and softwareoperations have not been shown in detail in order to avoid unnecessarilyobscuring the described embodiments of the invention.

Examples described herein include systems and methods which includesensing devices positioned under containers. The sensing devices maydetect a weight of the container and transmit that weight to a computingsystem. In this manner, amounts of liquid remaining in the containersmay be monitored remotely using the sensing devices. In some examples, acontainer positioned above a particular sensing device may be changed(e.g. when the container is depleted, a new container may be placed onthe sensing device). The new container may or may not be the same sizeas the previous container, and the new container may or may not have thesame type of contents as the previous container. In some examplesdescribed herein, a user may be notified that the sensing device shouldbe paired with the new container placed on the sensing device. Thepairing process may associate the sensing device with a size of thecontainer and contents of the container placed on the sensing device. Insome examples, a user may utilize a mobile communication device toassociate the sensing device with the size and contents of the newcontainer.

Examples described herein include systems and methods for displayinginventory information. In some examples, sensing devices may bepositioned under containers. The sensing devices may detect weights ofeach of the containers, and transmit the weights to one or morecomputing systems. Based on the weights, and in some examples furtherbased on a size of the container, a relative fullness of each containermay be determined. The available liquids (e.g. beers) may be displayedon a digital display. In some examples, some or all of the availableliquids may be displayed together with one or more icons indicative ofthe size or type of container from which they may be provided, and/orthe relative fullness of those containers. Other information relating tothe available liquids, e.g. the price and/or age, may also be provided.

In some examples, a sensing device may be associated with a particularsize and/or contents of a container using user input from a computingdevice, such as from a mobile phone or other mobile communicationdevice. Generally, associating the sensing device with the particularsize and/or contents of the container may refer to storing anassociation between these elements (e.g. storing a relationship, such asby storing a sensing device ID in a database together with a size and/orcontents of a container, or linked to the size and/or contents of thecontainer).

In some examples, a sensing device may be associated with a tap at aparticular location. The sensing device may be associated with a tap,for example, by having a separate identification device (e.g. an RFIDtag) encoded with an identification of the tap. To associate the tapwith a particular sensing device, the sensing device may be paired withthe RFID tag encoding the tap number of the tap. Pairing the sensingdevice may generally refer to storing an association between the sensingdevice and the tap number (e.g. by storing the sensing device ID and thetap number in a database). To pair the sensing device with a tap number,the separate identification device (e.g. an RFID tag) may be read by thesensing device and the tap number encoded by the identification devicemay be transmitted to a computing system together with the sensingdevice ID.

Examples described herein may make use of sensing devices that may bepositioned beneath a container for use in weighing the container andtransmitting a weight of the container to a computing system. The weightof the container may be used, for example, to monitor contents of thecontainer and/or product inventory.

Generally, any container may be used. In some examples, containersintended to hold liquids may be used. For example, kegs, barrels, vats,home water containers, or buckets may be used. In some examples,containers intended to hold food may be used. In some example, thecontainer may include an outlet for dispensing the liquid (e.g. a valveand/or an outlet port). The liquid monitored may include, but not belimited to, beer, wine, spirits, juice, milk, water, soda, syrup, orvinegar.

Generally, the draft beer industry employs re-usable aluminum kegs todistribute draft beer. The kegs may be simple aluminum containers (e.g.containers) that can be filled with beer, pressurized, and then the beerflows out of a top-mounted valve. The keg typically embodies notechnology beyond a simple pressure valve on the top. Kegs may have aspherical round bottom that is surrounded or collared with a roundaluminum sheath that allows the keg to sit upright and level. Thiscollar on the bottom of the keg, combined with the spherical roundbottom, creates a constructed void or space under the keg (e.g. falsebottom). In some examples, sensing devices described herein may beplaced entirely within that constructed void or space (e.g. falsebottom). The edges of the round aluminum sheath in those examples maynot rest on the floor, rather the sensing device may rest on the floor,and the bottom of the keg container may be supported by the sensingdevice, with the collar raised above the floor. In some examples,sensing devices described herein may be placed beneath the collar suchthat the collar rests on the sensing device. Generally, sensing devicesdescribed herein may be positioned to weigh a container, such as a keg.

In some examples, a tap may be used to interface with kegs describedherein and to dispense liquid from the keg. Generally, a number of tapsmay be fixed in place in a location (e.g. at a restaurant) and differentkegs may from time-to-time be attached to any given tap. Examplesdescribed herein provide for associating (e.g. pairing) a sensing deviceto a particular tap. In this manner, example sensing devices describedherein may transmit a tap number to which they are associated to acomputing system.

An example sensing device 102 is shown in FIG. 1. The sensing device 102includes pad 104 and body 106. An overall diameter of the sensing device102 may be such that the sensing device 102 may be positioned under anyof a variety of container sizes. For example, the sensing device 102 mayfit under ½ barrel, 40 liter, 50 liter, ¼ barrel, and ⅙ barrel kids insome examples. The kegs may be fabricated from any of a variety ofmaterials including, but not limited to, steel, aluminum, plastic,rubberized material, other commercially used materials, or combinationsthereof.

The sensing device 102 may be constructed of material sufficientlystrong to carry the large weight loads of containers described herein(e.g. a full keg) and capable of operating at low temperatures, such aswould be encountered in a refrigerated location, and may include varioustypes of plastics, composites, metals, and/or alloys.

In some examples, the body 106 is toroidal (e.g. doughnut-shaped,annular, ring-shaped, or circular and defining a center aperture), whichmay facilitate grasping the sensing device by placing a hand in theaperture. Other shapes may also be used, including circular and spokedhaving a center portion with load cells positioned in arms radiatingoutward from the center portion). Generally, the sensing device may beshaped to provide multiple load cells at different points on a containerbottom to aid in accurately weighing the container and minimizingtipping or rocking of the container.

In some examples, the sensing device 102 may fit within an innerdiameter of a cavity at a bottom of the container, for example within afalse bottom of a keg. In other examples, the sensing device 102 may bepositioned under a bottom-most portion of the container (e.g. the rimsof the keg which would normally rest on a floor or other supportingsurface may be placed on the sensing device 102). In some examples, thesensing device 102 may be clipped or otherwise attached to a container,but attachment may not be made in other examples.

The sensing device 102 includes one or more pads, such as pad 104, on atop surface of the sensing device 102. The pads, including pad 104, maybe made of any of a variety of materials, including but not limited to,rubber. The pad 104 may have radially inwardly sloped (e.g., downwardlysloping in radially inward directions) top surfaces which may facilitategripping the container (e.g. keg) placed above the sensing device 102and may aid in keeping the sensing device 102 from shifting when thecontainer (e.g. keg) is moved. The inwardly sloped top surfaces of pad104 may additionally or instead assist the container (e.g, keg) in selfcentering on top of the sensing device 102.

FIG. 2 is a schematic illustration of a sensing device arranged inaccordance with examples described herein. The sensing device 102includes body 106 having slot 202 and additional slots. The slots may besized and shaped to receive a respective one of the pad 104. Forexample, the slots may be arcuate shaped. Posts, such as post 204 mayproject from a bottom surface 206 of slot 202, and any or all of theremaining slots. There may be any number of posts, and the posts maysupport the pad 104. The posts may be open, e.g. hollow.

When placed beneath a container (e.g. a keg), a bottom surface of thecontainer may be supported by one or more of the pads, such as the pad104. The sensing device 102 may be used to weigh a container placed onthe sensing device 102.

FIG. 3 is a schematic illustration of a sensing device arranged inaccordance with examples described herein. Pad 104 A bottom surface ofeach may include a number (e.g. two) recesses, such as recess 304. Thenumber of recesses may be selected, and each recess may be sized toreceive a respective one of posts, such as the post 204. Extending fromthe bottom surface within each recess, such as the recess 304, may be aprojection, such as the projection 306, which may be sized and shaped toengage with (e.g. be snap locked into) the respective post, such as thepost 204. A distal end of the projection may press down on an electricalelement (e.g. a load cell, such as load cell 308) when a keg rests uponone or more of the pads, such as the pad 104. Electronics mounted on acircuit board associated with one or more of the load cells, such as thecircuit board 310 associated with the load cell 308, may measure thechange in an electrical characteristic of the associated load cell,which characteristic may vary with the weight of the container. Thus, aweight of the container may be determined from the measurements of theelectrical characteristics of the multiple load cells included in thesensing device 102. In the example of FIG. 1-FIG. 3, eight load cellsmay be used, each positioned beneath one of the projections, with twoprojections provided per pad. Load cells and the electronics mounted oncircuit boards form a weight sensing arrangement that may be used tosense the weight of a container (e.g. keg) placed on sensing device 102.

FIG. 4 is a schematic illustration of components included in a sensingdevice arranged in accordance with examples described herein. Thecomponents shown in FIG. 4 may be housed within the sensing device, forexample the sensing device 102 of FIG. 1-FIG. 3 or other sensing devicesdescribed herein. The sensing device 102 may include processing unit(s)408, memory 406, ID device reader 410, load cell(s) 402, and.transceiver 404.

Load cell(s) 402 may generally be implemented using one or more pressuresensors, which in at least one embodiment may be implemented using ananalog electronic device that converts weight into an analog valuecalibrated to the weight of a full keg. When the sensing device 102 isplaced under a container (e.g. a keg), the load cell(s) 402 may besupported by the floor or other surface and may be positioned to weighthe container. In some use scenarios, containers (e.g. kegs) may bestacked on top of each other. In such situations, the system vendor cansupply a rigid, hard plastic mat (not shown) that can fit on the top ofa container to provide a hard, level surface for a sensing device to bepositioned on the next layer up to weigh a container placed on thatsensing device. In examples stacking scenarios, the sensing devices onthe bottom containers can be adjusted to account for there being morethan one container resting on top of the load cell(s) 402, such as bytransferring weight information to/from the containers above.

The load cell(s) 402 register pressure from the weight of the container.One or more processing unit(s) 408 (e.g. processor(s)) may be providedin the sensing device. For example, the processing unit(s) 408 may beimplemented using one or more microcontrollers, which may include one ormore analog-to-digital converters (ADCs). In some examples, the systemmay be calibrated for an anticipated weight of a full container suchthat when a full container that has a maximum volume and weight isplaced on the sensing device, the load cell(s) 402 may register amaximum analog value, which may be converted into a digital value by theanalog-to-digital converter (ADC). In some examples, the conversion usesan 8-bit value, while in others, another range of digital outputs (suchas 0-20, or, in other embodiments, 0-10, 0-50, 0-100, or 0-240) is used.Using this latter form as an example, as the container is depleted, thevalue changes from 20 to 19, 18, 17, etc. all the way down to 0 (zero)in some examples, which may be the value corresponding to the weight ofan empty container. Calibration parameters to associate the fullcontainer weight with the maximum analog value and the empty containerweight with the minimum analog value may be stored, for example, inmemory 406.

The weight value (e.g. 0-20) may be provided to transceiver 404 fortransmission, e.g, to a gateway as described herein, in some examples,the transceiver 404 may be implemented using a separate transmitter andreceiver. In some examples the transmitter and receiver may be combined.The transceiver 404 may transmit using any of a variety of wirelesstechniques and/or protocols. For example, the transceiver 404 maycommunicate with a local gateway using ZigBee protocols, Bluetoothprotocols, other IEEE 802.15 protocols or IEEE 802.11 protocols, orsimilar wireless protocols. In some examples the local gateway maycommunicate with a larger network (e.g. a cellular telephone network ora mesh network). In other examples, the transceiver 404 itself maycommunicate to the larger network directly (e.g. a cellular telephonenetwork or a mesh network). Other wireless or wired data transmissiontechnologies may also be used.

In some embodiments, the sensing device may remain asleep and wake upperiodically to receive a signal related to the current weight of thekeg, communicate with the network (e.g., the cellular network, which maybe via the local uplink/gateway) and transfer data to and/or from adatabase (which may take approximately 10-20 seconds in someembodiments), then go back to sleep. In one embodiment, the sensingdevice wakes up and communicates with the network once every hour. Inother embodiments, the sensing device may wake up more or lessfrequently depending on the time of day or the day of the week/year. Instill other embodiments, the sensor wakes up based on a schedulereceived from a database, which may be adjusted by the database. Forexample, if an algorithm evaluating data from a database determines thatbeer A is selling quickly and beer B is not selling quickly, a commandcan be sent through the network to one or more sensing devicesassociated with beer A (e.g., through a cellular network, which may besent to the sensor via a local uplink/gateway) instructing the one ormore sensors associated with beer A to wake up and communicate with thedatabase every 20 minutes and/or a command can be sent through thenetwork to one or more sensing devices associated with beer Binstructing the one or more sensing devices associated with beer B towake up and communicate with the database every 2 hours. In addition tosending instructions modifying the wake up schedule of a sensor, othersoftware updates may also be delivered wirelessly from the network tothe sensor/transmitter and/or the uplink. Software updates and otherparameters may be stored, for example in the memory 406 of FIG. 4 andexecuted by the processing unit(s) 408 in FIG. 4.

The memory 406 may be implemented using generally any storage device,e.g. flash memory. The memory 406 may store (and in some examples may bepreprogrammed with) several parameters. One of these parameters may bean ID number corresponding to the individual sensing device. Forexample, each sensing device may have its own unique ID number (e.g.serial number) that is programmed into the software (e.g. encoded inmemory 406) when the sensing device is manufactured. In addition to theID Number, the software version number may be pre-programmed in someexamples. The keg transmitter software may also be programmed withcertain functions and intelligence. For example, the software may beprogrammed at the factory to perform various functions, including wakingitself up at predetermined times, at specific intervals of time, or uponthe occurrence of specific events or actions and transmitting a signalvia a wireless network (e.g., ZigBee, Bluetooth, or other) to checkwhether it is in range of a gateway. When the transmitter is shipped toan equipped warehouse, the sensing device can first wake up and connectwith a gateway. At that point, the keg transmitter can begin to checkfor a gateway every hour or other interval.

Sensing devices described herein may include an ID device reader 410 orother receiver that may receive data from an identification device (e.g.an RFID device). The identification device may in some examples encode anumber of a tap to which the sensing device will be associated. In someexamples, the identification device may additionally or instead encode acharacteristic of the fluid within the container to be placed on thesensing device. Examples of characteristics of the fluid within acontainer includes, but is not limited to, the brand-name, type,manufacture date, or other characteristic about the fluid a distributor,retail seller, or consumer would be concerned with. ID device reader 410may be contained within a compartment (e.g., receiver cavity) of thesensing device that may be covered by a cover, and may optionallyinclude a waterproof strip.

The ID device reader 410 may include an antenna, which may be the sameor a different antenna than used to implement transceiver 404. Theantenna for the ID device reader 410 may be contained within the samecompartment as the remainder of the ID device reader 410. The ID devicereader 410 may be implemented using a printed circuit board (PCB).

In some examples, the ID device reader 410 and ID devices may beconfigured for short range use to avoid interference with other RFIDdevices that may be present nearby. For example, in one embodiment, thepairing system and RFID device have a maximum pairing range ofapproximately 15 feet. In other examples, the pairing system and RFIDdevice have a maximum pairing range of approximately five (5) feet. Inyet other examples, the pairing system and RFID device have a maximumpairing range of approximately two (2) feet. In still further examples,the pairing system and RFID device have a maximum pairing range ofapproximately one (1) foot. The short range pairing feature may haveparticular advantages in environments where there are multiplecontainers with a sensing devices and RFID device attached to eachcontainer.

The transceiver 404 may communicates with a wireless network and maytransmit information concerning the ID of the sensing device and the tapto which the sensing device is associated (which may be received from anID device reader 410), and/or information about the weight of thecontainer to the wireless network. In some examples, transmissions fromthe sensing device may include a characteristic of the fluid in thecontainer which the sensing device is positioned to weigh. In someexamples, characteristics of the fluid in the container and/or a sizeand contents of the container may be obtained from a user applicationoperating on a separate user device as described herein.

Transceiver 404 may be contained in a compartment (e.g., transceivercavity) of the sensing device, covered by cover, and an optionalwaterproof strip may be included to inhibit water from entering into thetransceiver compartment. In some examples, transceiver 404 may berelatively planar in appearance and may be on a printed circuit board(PCB). In some examples, transceiver 404 is both a receiver and atransmitter capable of two-way communication with an ID device (e.g.,RFID device) associated with the container containing information aboutthe tap to which the container is associated and/or liquid containedwithin the container.

Sensing devices may include a battery compartment for housing a batteryto provide electrical power to the various components of the sensingdevice. The battery compartment may be covered by a cover and anoptional waterproof strip.

A bottom view of the sensing device 102 is shown in FIG. 5. The body 106may include a plate that may rest on a floor or other supportingsurface. A receiving area 504 is shown that may receive anidentification device (e.g. an RFID tag). The receiving area 504 issized such that the tag may, for example, be placed or slid on thereceiving area 504 while a user is holding the sensing device 102 andprior to placing the sensing device 102 on the floor or other supportingsurface. When positioned on the receiving area 504, a user may depressbutton 502 to pair the sensing device 102 with the information encodedon the identification device. While a button is shown in FIG. 5, otheruser interfaces may be used in other examples, or no interface may beneeded to begin the pairing, rather, the placement of the identificationdevice itself on or near the receiving area 504 may be sufficient. Anindicator 506 (e.g. light, speaker) may be provided to indicate that thesensing device 102 has been paired with the information (e.g. thesensing device 102 has stored the information encoded on theidentification device)

In some examples, a tap number may be encoded on the identificationdevice. The identification device may be used to pair the sensing device102 with a tap. Accordingly, the sensor may transmit a tap number, insome examples together with a sensor ID number, to a computing system.By providing a mechanism to pair the sensing device 102 with a tap, auser may update the association if the sensing device is moved to adifferent tap (e.g. by pairing the sensing device with a differentidentification device). In this manner, accurately maintaining anassociation between sensing devices and taps may be facilitated withouta user needing to access or manipulate themselves a database includingsensor ID numbers, for example.

In some examples, sensing devices may additionally be paired withinformation relating to a type and contents of a container placed on thesensing device. In some examples, the pairing of container type andcontents may similarly be performed using an identification deviceencoded with the container type and/or contents. However, in someexamples, pairing of the container type and contents to a sensing devicemay be performed by a user using software on a computing system and theassociation (e.g. pairing) may be performed remotely.

While sensing devices positioned beneath containers to weigh thecontainers have been described with references to FIG. 1-FIG. 5, inother examples, top-mounted or other sensing devices may be used toassess a liquid level in a container. Top-mounted sensing devices mayuse sound wave technology to send a sound wave through the top of thecontainer. A transducer may be provided to produce sound waves which maybounce off the top of the liquid (e.g. beer) and return to the sensingdevice. The interval of time between the time at which the sound wavewas sent and the time at which the return sound wave was received wouldbe measured. This measurement would be transmitted to a computingsystem, which may convert the time interval into a percentage of volumeof the liquid remaining. A short time interval would mean a fuller keg.A longer time would mean an emptier keg.

Examples of sensing devices are also described in U.S. Pat. No.9,221,667, entitled “Draft beer supply chain systems and methods,” PCTPublication WO 2013/177554 entitled “Draft beer supply chain systems andmethods”, U.S. Published Application 2014/0174568 entitled “Draft beersupply chain system and method,” and PCT Publication WO 2015/066594entitled “Draft beer supply chain systems and methods,” all of whichpatents, publications and applications are hereby incorporated byreference in their entirety for any purpose.

FIG. 6 is a schematic illustration of a system arranged in accordancewith examples described herein. The system of FIG. 6 includes acomputing system 602, gateway 610, and mobile communication device 624.The system of FIG. 6 may include any number of containers (includingdepicted keg 614, keg 616, and keg 618) positioned to be weighed (e.g.placed on top of) by respective sensing devices—e.g. sensing device 612,sensing device 620, and sensing device 622. Identification devices maybe associated with each container—e.g. identification device 626associated with keg 614, identification device 628 associated with keg616 and identification device 630 associated with keg 618.

Although kegs are described with respect to FIG. 6, any containers maybe used in other examples.

Each of the kegs—keg 614, keg 616, and keg 618 in FIG. 6 may beconnected to a tap, as shown in FIG. 6. In some examples, the taps maybe numbered, and may have numbers displayed and/or tagged on the tapline itself The identification devices—e.g. identification device 626,identification device 628, and identification device 630 may each beencoded with a particular tap number. For example, the identificationdevices may be implemented using RFID tags encoded with the particulartap numbers. In other examples, QR codes or other encoding techniquesmay be used. In some examples, the tap number may be printed on theidentification device. The identification devices may be connected tothe associated kegs in some examples (e.g. by affixing them to the kegs,tying them to the kegs, placing them on the kegs). In some examples, theidentification devices may not be connected to the associated kegs. Insome examples, the identification devices may be connected to and/orplaced near the associated taps. When someone desires to pair a sensingdevice to a particular tap, the identification device associated withthe tap may be obtained and used to pair with the sensing device (e.g.by placing the identification device within range of the sensing deviceand optionally pushing a button to initiate pairing).

Sensing devices may be placed under the respective kegs to weigh therespective kegs. The sensing devices may be implemented using anysensing devices described herein, including with regard to FIG. 1-FIG.5.

The sensing devices—e.g. sensing device 612, sensing device 620, andsensing device 622, may be within range of gateway 610. For example, thesensing devices may be sufficiently near the gateway 610 to be able totransmit data to the gateway 610. The sensing devices may communicatewith the gateway 610 using wireless communication techniques including,but not limited to, ZigBee and/or Bluetooth communication. The gateway610 may communicate with the computing system 602 using communicationtechniques, including, but not limited to, cell phone communicationprotocols, and/or Ethernet.

Gateway 610 may in some examples be implemented using a self-containedunit that can be, for example, mounted on the wall, such as outside ofthe beer cooler, of an on-premises retailer (e.g. bar or restaurant)that contracted with their local beer distributor to use the servicedescribed herein. The gateway 610 may be a moisture-resistant,shock-resistant plastic box that contains radio receivers, computerhardware, computer software, and/or radio transmitters.

The computing system 602 may communicate with multiple gateways. Eachgateway, such as the gateway 610, may have its own unique serial numberthat is encoded in the gateway software (e.g. stored at the gateway).

The gateway 610 may perform two functions in some examples. First, ahardware radio receiver and software stack of the gateway 610 mayreceive data transmissions from each sensing device within its range,which are typically the sensing devices in the nearby cooler or withinthe establishment where the gateway 610 is positioned. For example, thegateway 610 may receive data transmissions from sensing device 612,sensing device 620, and sensing device 622. Second, the receiver of thegateway 610 may receive the data, organize the data, and tag the datawith information unique to the gateway 610 (e.g. the gateway's uniqueserial number and version number or other gateway ID). Once the receiverand software stack has organized that data, it may be sent to adifferent, perhaps wider network, e.g., a CDMA, GMA or like standardcellular connection gateway (e.g. the gateway 610 may be a “CDMAgateway”).

Recall information about the tap to which each container (e.g. keg) isconnected may also be communicated to the sensing devices (e.g. Sensingdevice 612, sensing device 620, and sensing device 622) using a separateID device (such as an RFID device). The identification devices (e.g.Identification device 626, identification device 628, and identificationdevice 630), may be attached to the respective containers (e.g. Keg 614,keg 616, and keg 618) and may be paired with the sensing devicesassociated with those containers (e.g. Sensing device 612, sensingdevice 620, and sensing device 622). For example, identification device626 may be paired with sensing device 612 to reflect that keg 614 isconnected to a particular tap number. In this manner, sensing device 612may obtain the tap number and transmit the tap number, together with thesensing device ID number, to the gateway 610, which may in turn providethe information to another network (e.g. a CDMA network), such that theinformation may be provided to the computing system 602.

The gateway 610 may include a transmitter/receiver that contains bothradio hardware and software. The gateway 610 in some examples may beprovided by a wireless carrier partner, such as Verizon Communications,in some examples, of course, GSM and/or other wireless data transmissionprotocols may be used instead of or in addition to CDMA. The gateway 610may join the carrier's data service by connecting the closest cell phonetower to the on premise retailer where the gateway has been placed. Thegateway 610 may relay the data from sensing devices that have beencollected by the gateway 610. The gateway 610 may communicate with thecarrier's network to determine the location (e.g. longitude andlatitude) of the gateway 610 and may transmit that location, itssoftware version number, and/or data collected by the gateway 610 to thecomputing system 602.

In some examples, a CDMA gateway may not available, feasible, ordesirable. Data from the sensing devices may be received by a hardwareradio receiver and software stack in communication with the Internet viaWi-Fi or Ethernet access to a Local Area Network (LAN), which may inturn provide the data to computing system 602.

To setup the system, sensing devices (e.g. Sensing device 612, sensingdevice 620, and sensing device 622) may be paired to taps (e.g. usingidentification devices encoded with tap numbers) and placed under thecontainers connected to those taps. Once the sensing devices are placed,they may be in radio range to join a network including the sensingdevices of others or all containers at the premises (e.g, in the cooler)as well as the gateway 610. When the sensing device joins the network,the sensing device may begin transmitting data. The data transmitted caninclude one or more weight parameters (e.g. a relative weight such as0-20 as described herein, and/or a weight) indicative of the weight ofthe container placed on the sensing device, an ID number of the sensingdevice (e.g., #KS1234), and/or the version number of the software of thesensing device (e.g., ver1.0).

The data may be transmitted to the gateway 610. The gateway 610 may actas a conductor collecting data from all sensing devices at the location(e.g. in the cooler and/or on the premises) and may maintain its ownserial number (#UG5678) and its own location data (e.g., latitude andlongitude, such as latitude: 39.77572; longitude: −86.15569). Thegateway may collect sensor data and add its own data that may betransmitted via the carrier's cell phone data network to the computingsystem 602. So an example data feed may look like:

sensing device sends a data string:

keg_sensor_serial=KS1234&;weight_parameter=10&;keg_sensor_version=1.0&;gateway_version=1.0&;keg_rfid=1234

This data string may be received by the gateway 610, and the gatewayembedded software adds its data. The combined data string in thisexample would then be:

uplink_gateway_serial=UG1234&;long=39.77572&;lat=−86.15569&;=5&keg_sensor_serial=KS1234&;weight_parameter=10&;keg_sensor_version=1.0&;gateway_version=1.0&;keg_rfid=1234

When there are multiple sensing devices communicating with a singlegateway, the combined data string may look like:

uplink_gateway_serial=UG1234&;long=39.77572&;lat=−86.15569&;=5&;keg_sensor_serial=KS1234&;weight_parameter=10&;keg_sensor_version=1.0&;gateway_version=1.0&;keg_rfid=1234;keg_sensor_serial=KS5678;weight_parameter=4&;keg_sensor_version=1.0&;gateway_version=1.0&;keg_rfid=5678;keg_sensor_serial=KS91011&;weightparameter=3&;keg_sensor_version=1.0&;gateway_version=1.0;keg_rfid=9 1011

The data may be collected and sent by the gateway through the cell datanetwork, then over the Internet to the computing system 602. Uponreceipt by the computing system 602, the collected data from the sensingdevices can be correlated and saved in a database (e.g. in memory 606)in many different ways.

The sensing device Serial Number may be correlated to an SKU thatmatches the beer brand and type. The correlation between the SerialNumber and SKU may be preprogrammed into the computing system 602 or maybe provided via a user device application as described herein.

For example, a user may provide an indication that taps 1-3 have beentapped to kegs container beer brand and type “Bell's Founder's Ale,”which is SKU998877665544, and if Serial Numbers KS0000 through KS1234have been assigned to taps 1-3, then when the computing system receivesdata from Sensor Serial Number KS1234, the computing system may writethe data into the database as being associated with that SKU, beer brandand type “Bell's Founder's Ale.” The computing system software can haveprogrammed intelligence that also converts the weight parameter into apercentage of volume. So, for example, if the keg sensor sends a weightmeasurement of 10 on a scale of 0-20, that means the keg is half-weight,thus half-full. The computing system software may convert weight tovolume. 20 is full, for example, 100%. 0 is empty, 0%. The scale of 0-20is, therefore, converted by the computing system software to 20 steps ofvolume in percentage units.

The gateway can add its data to show the location of not only thegateway, but also the location of the sensing devices that it iscollecting data from. As an example, assume that in the computing systemsoftware the gateway serial number UG1234 has been assigned to thelocation of retailer “Scotty's Bar and Restaurant.” So when thetransmission of data from a sensing device is made through the gateway,the location of the keg may be known. So, for example, a sensing deviceKS1234 with weight parameter 10 may be transmitted to the computingsystem 602 through gateway 610. The computing system 602 may alreadyhave a stored location of the gateway 610, the association of the kegsensing device to SKU Beer Type, and the conversion of weight to volume.When each transmission of data occurs computing system assigns a dateand time stamp converted from UTC (Coordinated Universal Time) to localtime. So when the transmission of data occurs, and the computing systemreceives the data, the data is converted to report that the particularkeg of “Bell's Founder's Ale” currently located at “Scotty's Bar andRestaurant” is 50% full at 10 PM today, which may be recorded in asingle time zone such as UTC/GMT. When using a single time zone, thesoftware optionally converts the UTC time stamp into local time.

KS1234=Bell's Founder's Ale

UG1234=Scotty's Bar and Restaurant

Volume=50% (weight value of 10 converted to %)

Date-Time=10.27.14 10:00:15 PM UTC

The embedded software in the sensing devices can have intelligence builtin. For example, the sensing device software may regulate the timefactor of how often the data is transmitted from the sensing device tothe gateway. In one example, the software is set to send data every hourtime period, but that time period can be changed. The sensing devicesoftware may have the intelligence to transmit data only if the weightvalue has changed. The sensing device can also have the ability totransmit the ambient temperature around the container (e.g. the coolertemp) and the sending sensing device's remaining battery life as apercentage.

In some examples, the sensing device may use short-range radiotechnology (e.g., ZigBee and/or Bluetooth) to connect and send datathrough the gateway. In some examples, the sensing device itself maymake a direct wireless (e.g. cell data and/or Ethernet) connection sothat the sensing device can transmit its data directly to the computingsystem 602.

Although one gateway is shown in FIG. 6, it is to be understood thatmany gateways, which may each be positioned at different locations (e.g.different establishments or different areas within a singleestablishment, or both), may communicate with the computing system 602.

The computing system 602 may be implemented using any of a variety ofcomputing systems, including but not limited to one or more desktop,server, laptop, or other computers. In some examples, the computingsystem 602 may provide software as a service (SaaS). The computingsystem 602 generally includes one or more processing unit(s) 604. Theprocessing unit(s) 604 may be implemented using one or more processors,for example, having any number of cores. In some examples, theprocessing unit(s) 604 may include circuitry, including customcircuitry, and/or firmware for performing functions described herein.

The computing system 602 may include memory 606. The memory 606 may beimplemented using any storage medium accessible to the processingunit(s) 604. For example, RAM, ROM, Flash, SSD, hard drive, opticalstorage, or combinations thereof, may be used to implement memory 606.The memory 606 may store associations described herein between sensingdevice IDs, taps, container size, container contents (e.g. brand, brewtype, identification of liquid in the container), container weight.and/or location. Other aspects of the environment that may be sensed andtransmitted by sensing devices described herein may also be storedincluding, but not limited to, temperature, humidity, light level, andcombinations thereof.

The computing system 602 includes computer readable media 608 which maybe encoded with instructions executable by the processing unit(s) 604.The computer readable media 608, for example, may be encoded withexecutable instructions for sensor management. The executableinstructions for sensor management may include instructions forreceiving data from one or more gateways described herein, includinggateway 610, and processing that data (e.g. to identify a location fromwhich the data was transmitted, identify a weight or fractional fullnessof a container based on received data). The executable instructions forsensor management may further include instructions for identifying,based on changes in weight communicated by one or more sensing devices,that a new or different container had been placed on a sensing device.The executable instructions for sensor management may further includeinstructions for providing a notification that a new or differentcontainer had been placed on a sensing device and providing suggestionsfor the size and/or content of the container, examples of which aredescribed herein.

It is to be understood that the arrangement of computing components ofthe computing system 602 may be quite flexible, and although shown ascollocated components, the shown components may be distributed in someexamples. The computer readable media 608 and the memory 606 may in someexamples be implemented using the same media, and in other examples maybe implemented using different media. The computing system 602 mayfurther include any number of input devices, output devices, and/orperipheral components.

Mobile communication device 624 may be implemented using any usercommunication device, including but not limited to, a desktop, laptop,cellular phone, tablet, appliance, automobile, or combinations thereof.The mobile communication device 624 may be programmed with anapplication (e.g. the mobile communication device 624. may have one ormore processing unit(s and computer readable media encoded withinstructions which, when executed, cause the mobile communication device624 to perform described functions) for associating one or more sensingdevices with a size and contents of a container. For example, the mobilecommunication device 624 may be programmed to receive a notificationfrom computing system 602 that a new or different container had beenplaced on a particular sensing device. The mobile communication device624 may receive and provide to a user and/or may generate and provide toa user one or more recommendations for the size and content of the newor different container. A user may utilize the mobile communicationdevice 624 to input the size and contents of the new or differentcontainer, and the size and contents may be communicated to thecomputing system 602 and associated with the sensing device in thememory 606.

The mobile communication device 624 may include a display for display ofnotifications and/or recommended size and contents of containers. Thedisplay may additionally or instead be used to display data from thememory 606 pertaining to an inventory of containers. The mobilecommunication device 624 may be implemented with any of a number ofinput devices including, but not limited to, a touchscreen, keyboard,mouse, microphone, or combinations thereof.

FIG. 7 is a flowchart of a method in accordance with examples describedherein. The method 700 is shown as a sequence of blocks. In someexamples, the blocks may be re-ordered and/or the actions described withrespect to some blocks may happen simultaneously or overlapping in time.

A sensing device may be paired with a tap in block 702. Any sensingdevice described herein may be used to pair with a tap. Pairing may beeffected in a number of ways. In some examples, a tap number may bepre-programmed in the sensing device (e.g. the tap number may be storedin a memory of the sensing device (and/or transmitted with or withoutstorage) at the factory or prior to or contemporaneously with deliveryto a location of use). In some examples, an identification device (e.g.an RFID tag, a QR code, a paper with a printed number) may be encodedwith a tap number. The identification device may be read by the sensingdevice (e.g. using an RFID reader and/or camera). For example, an RFIDtag encoded with a tap number may be placed in a receiving area, such asreceiving area 504 of FIG. 5 of a sensing device. Once placed, a usermay initiate pairing by, for example pressing button 502. As describedwith respect to FIG. 5, and indicator may be provided to indicate whenpairing is complete. The encoded number may be decoded and stored in amemory of the sensing device and/or transmitted without storage.

In this manner, a particular sensing device may be associated with a tapnumber. In some examples, pairing with a tap may not be performed.However, it may be advantageous in some examples to provide a process topair a sensing device with a tap so a sensing device may be more easilychanged between taps. If a sensing device is moved to a different tap,the block 702 may be repeated to pair the sensing device with adifferent tap.

In block 704, a container (e.g. a keg) may be placed on the sensingdevice. In some examples, the container may be positioned relative tothe sensing device in such a way to allow the sensing device to measurecontents of the sensing device (e.g. in some examples, the container maybe below the sensing device). Any of the sensing devices describedherein may be used to implement block 704. The sensing device may beginto obtain a weight of the container (including the weight of thecontents of the container). In other examples, the sensing device maybegin to measure the contents.

In block 706, the sensing device may transmit the tap number to agateway (and/or directly to a computing system in some examples).Additionally or instead, the sensing device may transmit an ID of thesensing device to the gateway (and/or directly to a computing system insome examples).

In block 708, the sensing device may periodically transmit an indicatorof the weight of the associated container (including contents of thecontainer) to the gateway (and/or directly to a computing system in someexamples). The indicator of the weight may be the weight itself, or itmay be a value corresponding to a relative fullness of the container asdescribed herein. The gateway 610 of FIG. 6 may be used to implement themethod 700. For example, the sensing device 612, sensing device 620, andsensing device 622 may transmit to gateway 610 in block 706 and block708. Any frequency of transmissions may be used in blocks 706 and 708,including regular and irregular updates. Any wired or wirelesscommunication mechanism may be used, including, for example, ZigBee orBluetooth.

In block 710, the gateway may transmit the weight and/or tap numberand/or sensor ID to a computing system. For example, the gateway 610 maycommunicate with the computing system 602 of FIG. 6 in block 710. Inthis manner, the computing system 602 may maintain an accurate andup-to-date association between sensor ID, tap number, and weight of theassociated container (and contents thereof). The associations may bestored, for example in the memory 606 in any of a variety of forms,including a database. Any frequency of transmissions between the gatewayand the computing system may be used. The communication may occur usingany wired or wireless communication mechanism, including, for example, acellular protocol and/or Ethernet.

FIG. 8 is a flowchart of a method arranged in accordance with examplesdescribed herein. The method 800 is shown as a sequence of blocks. Insome examples, the blocks may be re-ordered and/or the actions describedwith respect to some blocks may happen simultaneously or overlapping intime.

In block 802, an association may be stored between a tap and a sensorID. For example, the association may be stored by the computing system602 in the memory 606 of FIG. 6, and the association may be implementedin a database. In block 804, an indication of a weight detected by asensing device may periodically be received. For example, the indicationof weight may be received by the computing system 602, and may be storedby the computing system 602, for example in the memory 606, inassociation with the sensor ID of the sensing device providing theweight indication. In some examples, the weight indication may beconverted into an actual weight value and/or a relative fullnessindicator of the container being monitored by the sensing device.

In block 806, when the periodic weight transmissions meet apredetermined criteria, a notification may be pushed to a user device topair a next container (e.g. keg). Pairing a next container generallyrefers to associating a size and/or contents of a container with thesensing device associated with that container. Generally, a user devicemay receive a notification to pair a sensing device with a nextcontainer when the container is depleted and/or changed. Accordingly,the predetermined criteria used in block 806 may be criteria indicativeof a depletion and/or change of container. For example, if consecutiveweight readings increase by greater than a threshold amount, a usernotification may be sent to pair the next container. In another example,if an indication of weight drops below a first threshold (e.g. below 15percent fullness in some examples, below 10 percent fullness in someexamples, below 5 percent fullness in some examples, below 2.5 percentfullness in some examples), followed by a subsequent indication ofweight over a second threshold (e.g. over 80 percent fullness in someexamples, over 85 percent fullness in some examples, over 90 percentfullness in some examples, over 95 percent fullness in some examples), auser notification may be sent to pair the next container. The executableinstructions for sensor management encoded on the computer readablemedia 608 of FIG. 6 may include instructions for analyzing theindications of weight received from a sensing device and evaluating theindications of weight in accordance with the predetermined criteria, andpushing the notification to a user device responsive to thepredetermined criteria being met. In some examples, the predeterminedcriteria and any thresholds used may be stored in memory 606 and/orother storage accessible to the computing system 602,

When the predetermined criteria are met, indicating depletion and/orchange of a container associated with a sensing device, the computingsystem 602 may notify a user associated with the sensing device. A usermay have an account indicating an association with particular sensingdevices (e.g. an owner or manager of an establishment utilizing severalsensing devices). The computing system 602 may notify the user of theneed to pair a next keg, for example, by pushing a notification (whichmay be implemented as an email, text message, audio message, videomessage, or other notification) to a user device associated with theuser. For example, a notification may be sent to a user's phone number,email address and may be accessed using a user device. The user devicemay be programmed with an application to receive such notifications. Thenotification would generally include a message indicating a particulartap number had been depleted and/or replaced and a prompt to indicatethe container size and contents of the next container.

In some examples, instead of evaluating periodic weight readings inblock 806 to determine when to push a notification to a user device topair a next container, a signal may be sent from the sensing devicespecifically indicative of a change of container. For example, anindividual responsible for changing containers associated with thesensing device may depress a button or other input on the sensing devicewhich may be programmed to transmit a signal through the gateway to acomputing system indicative of a container change. Responsive to thesignal indicative of a container change, the computing system may notifya user device to pair a next container.

In block 808, suggested pairings may be provided to the user device. Forexample, one or more suggested sizes and/or contents of a container maybe provided to and/or displayed at the user device (e.g. Mobilecommunication device 624) for selection by a user to associate with thesensing device. The executable instructions for sensor managementencoded in the computer readable media 608 may include instructions forproviding the suggested pairings. In some examples, executableinstructions encoded on computer readable media and executed by one ormore processing unit(s) of the user device (e.g. included in a userdevice application) may include instructions for providing anddisplaying the suggested pairings.

The suggested pairings may be made based on the indication of weightreceived from the sensing device. The suggested pairing may include asize and contents of the container suggested to be paired with thesensing device. Examples of sizes include, for example, ½ barrel, 40liter, 50 liter, ¼ barrel, and ⅙ barrel kegs. Examples of contentsinclude particular brands and brew types of beer products (e.g. Coors,Coors Light, Elysian Space Dust IPA, Guinness). In some examples, thecontents may include the brewery name, beer type (e.g. pilsner, IPA,amber, brown, stout, seasonal), alcohol content, and/or name, orcombinations thereof. Generally, contents refers to the identity of theliquid in the container.

For example, a database of full weights of various container sizesand/or contents may be reviewed for those having weights correspondingto the indication of weight received from the sensing device. Thosehaving matching weights, and/or matching weights within a range, may beprovided as suggested pairings. In some examples, a fixed range ofweights may be allocated to each of a plurality of sizes of containers(e.g. different size kegs), and a size keg may be suggested whose weightrange corresponds with the indication of weight provided by the sensingdevice.

In some examples, the suggested pairings may be based on inventory. Forexample, the computing system 602 and/or mobile communication device 624may access a stored database reflecting available inventory at alocation where the sensing device is in operation. The suggestedpairings provided in block 808 may be selected from the availableinventory. In some examples, both the available inventory and expectedweight of the available inventory may be used to provide the suggestedpairings. For example, containers in the available inventory whoseexpected weight matches (within a range) the indication of weight of thenew container received from the sensing device may be provided assuggested pairings.

In some examples, the suggested pairings (and/or an order in whichsuggested pairings are displayed) may be based on popularity of certainliquids at the location housing the sensing device, or popularity withina larger group of locations including the location housing the sensingdevice. For example, suggested pairings may be based on consumption dataof what contents have been selling quickly and/or profitably at thelocation. The location may be the establishment at which the sensingdevice is operating. The location may be the city, state, zip code,country, or other geographical area in which the sensing device isoperating. The location may be a type of establishment—e.g. sports bar,upscale restaurant. A database of usage data across many systems may beconsulted in making the recommendation. For example, the memory 606 orother memory accessible to the computing system 602 may store usage dataobtained through sensing devices in the system of FIG. 6 and/or in othersystems utilizing sensing devices and accessible to the computing system602. The usage data may be utilized to formulate recommendations inaccordance with popular and/or profitable brews.

The suggested pairings may be displayed, for example, in a list or othergraphical display on a user device (e.g. Mobile communication device 624of FIG. 6). In some examples, a user may search, using the user device,for suggested pairings. In some examples, the suggested pairings mayappear based on partial input from a user (e.g. if a user begins to typeC . . . O . . . suggested pairings for “Coors” and “Coors Light” andother available suggestions beginning with CO may be provided).

In block 810, an indication of pairing may be received from a userdevice. The indication may be made at the user device, for example, byindicating one of the suggested pairings (e.g. by clicking, touching,highlighting or speaking). In some examples, the indication may be madeby typing a size and/or content of the container using an input device.The indication may not always be one of the suggested sizes and/orcontents.

Once the indication of the pairing is received (e.g. at the computingsystem 602 of FIG. 6), the indicated size and/or contents may be storedin association with the tap and sensing device, for example in thememory 606. In this manner, the memory 606 may include updatedassociations between sensing device IDs, taps, and sizes and/or contentsof containers. The data may be used to provide reports, notifications,menus, or other displays and/or analysis.

In some examples, user input may not be used to pair size and/orcontents with a next container. In some examples, a sequence of sizesand/or contents may be stored (e.g, in memory 606 of FIG. 6 and/or in asensing device itself). For example, if a known sequence of containerswill be placed on a sensing device (e,g. Beer A followed by Beer Bfollowed by Beer C, the sequence may be stored). When the predeterminedcriteria indicative of a container replacement is met in block 806,instead of pushing a notification, the next size and contents in thesequence may be associated with the sensing device, and the newassociation stored, e.g. in the memory 606.

A sequence of screenshots from a user device display are describedherein to illustrate a user view of matching a container to a tap inaccordance with examples described herein. The sequence of screenshots,shown in FIG. 9-FIG. 13 refer to the tap instead as “tag”. In someexamples described herein, sensing devices may be associated with anumber, which may be a tap number, or may be an arbitrary or othernumber. As described herein, the association between the sensing deviceand the number may be made, for example, using an identification deviceencoded with the number. The number is referred to as a ‘tag’ number inFIG. 9-FIG. 13. In some examples, the ‘tag’ number may be a tap number.

The screenshots in FIG. 9-FIG. 13 may be displayed, for example, onmobile communication device 624 of FIG. 6.

Screenshot 900 of FIG. 9 illustrates a view that may be presented to auser on opening an application on a user device (e.g. Mobilecommunication device 624) for interacting with containers monitored bysensing devices described herein. The screenshot 900 depicts a listingof containers managed by the user, together with their contents andrelative fullness. For example, the entry 906 shows that tag #1 (whichmay be tap #1 in some examples) is associated with a beer entitled“Floozy . . . ” from Black Bottle brewery, and is 82% full. The datadisplayed in the listing of containers may be obtained from a databaseincluding in formation received from sensing devices described herein,such as from computing system 602 of FIG. 6. The keg icon displayed witheach entry may correspond to a size of the container, and the icon maybe shaded with a color or other shading indicative of the relativefullness and contents (e.g. color may be selected in accordance with thecontents, and fill level may correspond with relative fullness).

The notification 902 may be displayed if a sensing device needs to bematched to a container. For example, the notification 902 may be pushedto the user device in block 806 of FIG. 8. The notification 902 appearsas a banner at a top of the inventory listing in the screenshot 900 ofFIG. 9. However, other notification formats may be used, including butnot limited to, a pop-up, a new page, a separate notification listing inthe application, or other indications that a sensing device needs to bepaired with a container. The notification 902 simply indicates a numberof sensing devices (referred to as ‘tags’ in the notification 902) whichneed to be paired to containers, one in the example of the notification902. A user interface element 904 is provided to allow a user to begin aprocess of matching the sensing device to a container. The userinterface element 904 is implemented as a button for a touchscreen inthe screenshot 900, however, other user interface elements may be used.On indicating that the user wishes to begin the matching process (e.g.by clicking or touching or otherwise selecting the user interfaceelement 904), the screenshot 1000 may be displayed.

The screenshot 1000 provides an indication of which sensing device (e.g.using a number, such as a tap number, associated with that sensingdevice) is in need of matching with a container. For example, thescreenshot 1000 shows that there is “unmatched product on tag #778). Theicon 1002 may be presented showing a container number in need ofmatching.

A user may be presented with a listing 1004 of suggested contents of thecontainer to be matched. For example, the listing 1004 provides alisting of beers including “High Esteem” and “Coors Light”. Each item inthe listing may include a beer name, brewery, alcohol content, brewtype, and/or logo associated with the beer name and/or brewery. Thesuggested contents may be received, for example, in block 808 of FIG. 8.The suggested contents may be based on a variety of factors, includinginventory, size, popularity, etc. as described herein.

The user may also be explicitly presented with an option to rematch thecontainer with a recently selected product, through user interfaceelement 1006. The user may also be explicitly presented with an optionto search for a size and/or contents of a container to match, throughuser interface element 1008. The user interface element 1006 and theuser interface element 1008 may be implemented, for example, using linksthat may be touched, clicked, or otherwise selected by a user. Selectingthe user interface element 1006 may result in the user being presentedwith a listing or other display of recently-selected products formatching to the sensing device. Selecting the user interface element1008, indicating a user would like to search themselves for a product tomatch, may result in the display shown in screenshot 1100.

The screenshot 1100 indicates a user may be presented with a search box1102 for entering all or a portion of a name or other product aspect(e.g. brewery, brew type) for searching. In some examples, a search maybe made using a user's known inventory, in other examples, a more globallisting of content types may be used.

In the example of screenshot 1100, a user has entered “Yuengling” in thesearch box 1102. Results are shown in results list 1104, and include,for example, “Yuengling Black”, “Yuengling Traditional Lager,” etc. Theresults may be ordered by availability in the user's inventory,popularity, or other factors. The results may be provided to the userdevice, for example in block 808 of FIG. 8.

A user may also select a size of the container to be matched to thesensing device. Suggested sizes may be displayed in the screenshot 1100.For example, suggested size 1106 is shown, together with additionalpossible sizes. The suggested size may correspond, for example, with aweight of the container as measured by the sensing device. In theexample of the screenshot 1100, the suggested size 1106 is a ½ barrelkeg.

Selecting “Yuengling Traditional Lager” (e.g. by clicking, touching, orotherwise selecting its listing or a user interface element associatedwith the listing) may result in the screenshot 1200 being displayed.

The screenshot 1200 includes a confirmation request 1202 to confirm theuser's selection of contents to match to the sensing device. Theconfirmation request 1202 of FIG. 12 requests confirmation to “MatchYuengling Traditional Lager to tag #778” and indicates that the size tobe matched is ½ barrel (BBL).

The user's selection of a size (e.g. the suggested size 1106) may bemade by touching, clicking, or otherwise selecting the size. In someexamples, the suggested size may be selected by default in the absenceof a user interaction. The screenshot 1200 includes a confirmationrequest 1204 confirming the suggested size, for example, by highlightingthe suggested size with a box and/or checkmark indicator.

A user may confirm the match by touching, clicking or otherwiseselecting a user interface element associated with the confirmationrequest 1202. On confirmation by the user, the association between thesensing device, tap (e.g. tag) number, and size and contents of thecontainer may be provided to a computing system and stored, for examplein block 810 of FIG. 8. On confirming the match, the screenshot 1300 maybe displayed.

The screenshot 1300 includes a confirmation notification 1302 indicatingthat a size and contents of a container have been matched to a sensingdevice. For example, the confirmation notification 1302 reports“Yuengling Traditional Lager now matched!” and indicates the size is ½.BBL and the tag number is 778. A logo associated with the selectedcontents may be displayed associated with the tap and/or tag number forease in confirmation.

Examples of systems described herein may accordingly allow for acomputing system to collect data regarding inventory in a collection ofcontainers—e.g, the keg fullness, size, contents, date, time, and/orlocation data coming from sensing devices positioned to weigh orotherwise determine the relative contents of the containers.Accordingly, a database may be built containing near-real-time inventorylevels including type of beer, size of keg, and relative fullness of thekeg. This information may be used in a wide variety of ways.

In some examples, computing systems described herein can be set up withindividual accounts for each Bar and Restaurant retailer and theirvarious individual establishment locations using the service. Arepresentative of the retailer can set up accounts for each individualin their organization who interacts with keg beer. The setup process caninclude adding each individual's smart phone/mobile phone number. Therepresentative can set up rules based on their organization's structureand individual needs. One function in the day-to-day operation can be toprovide an insight into the current status of their keg beer inventory.The representative can log onto the computing system, then review thecurrent inventory and set rules for alerts based on depletion rates ofkeg beer. In various embodiments, these alerts can take on the form ofSMS texts sent to mobile phones, notifications resident within theapplication itself or associated, integrated applications, popup pushalerts that are part of iPhone, Android and other smart phone formats,emails sent out, recorded voice alerts sent to phones, and other forms .The alerts can be sent to retail workers based on their currentlocation. The system software can take advantage of the location-basedservice built into each smart phone. The worker may only get alerts ifthey are in the geographical longitude and latitude area that hasalready been defined in the database by the recording of the gatewayassigned to their place of work. This can assure that workers will notget alerts during their off-shift hours, for example. A manager whowould like to get alerts when he is off-site from his retail locationcan override this function.

In other embodiments, alerts take the form of visual flashing lights andintegration into other software in the restaurant including, but notlimited to, POS terminals (Point of Sale, electronic “Cash Registers”).The retail representative can assign a value to certain beer brands andtypes and customize alert based on the value of the beer, that is, theimportance of not running out of that beer. For example, the retailermight not value the “Stroh's Light” beer as much as the “Bell'sFounder's Ale.” So the retailer representative might set up thecomputing system to automatically alert the designated retailerrepresentative when the Stroll's reaches 10% remaining, while the morevaluable Bell's would automatically alert when the remaining beer in thecomputing system as 40% remaining. In some examples, patterns in therate of consumption of each product are taken into account, anddepletion events are forecasted so that alerts can be raised and orderscan be placed “just in time.”

When an alert is sent to the retailer, there can be multiple paths e.g.,four paths) that they can use to re-order the keg that is running low.If the alert comes to the retailer's phone, they can re-order by sendingan SMS text message directly to their beer distributor sales rep, or bysending an SMS text message to an SMS gateway that is controlled by thesystem vendor and connected by EDI (Electronic Data Interchange) intothe beer distributor's ordering system. Another option can he toactivate a button in the user interface to initiate a voice call totheir beer distributor's sales rep. There can also be iPhone and Androidsmartphone applications that have a re-ordering function built-in,connecting by EDI to the beer distributor's ordering system. Theinterface of the smartphone application may have a visual alert with thebutton option “re-order now,” which the retailer can choose.

In some examples, the retailer can set their account to have thecomputing system automatically submit re-orders on kegs based on rulesthey set for each brand and type of beer. For example they can set arule to automatically re-order “Bell's Founder's Ale” if the depletionlevel has dropped below 40% and the day of the week is Wednesday throughFriday.

Retailers can have standard reports accessible to them via the computingsystem web-based platform or mobile app. These reports can includecurrent and past inventory reports, current and past keg depletionrates, and other reports key to their operation.

Beer distributor sales representatives can see all of their accounts andthe current state of each retailer's keg inventory. The salesrepresentative can see when alerts on low kegs were sent out toretailers, who the alert was sent out to, and what action (if any) wastaken by the retailer to re-order the depleting, or depleted, keg. Themanagement of the beer distributor can have a near-real-time view ofcurrent beer depletion across all of their retail accounts. Thisnear-real-time data can allow them to more efficiently control theirinventory of kegs in their warehouse based on trends in usage.

The near-real-time data that the presently disclosed process may becollecting can also be used by breweries to determine what beers arebeing sold and at what rate. They then can adjust what beers they areplanning to brew and in what quantity they brew the beer. In the case oflarge breweries, they can adjust the purchasing of the ingredients ofbeer components on the grain futures market. The system vendor can alsosell data to marketing data firms who track trends in consumerconsumption.

An API (Application Programming Interface) can be developed to allowother applications to access system data for real time softwareapplications.

FIG. 14 is an illustration of a display screen providing a reportarranged in accordance with examples described herein. The displayscreen 1400 may be implemented, for example, on a display of the mobilecommunication device 624 of FIG. 6. The display is showing a “Days ontap report” providing a list of containers at a location and a length oftime they have been tapped. The display screen 1400 illustrates twocontainers—container 1402 and container 1404. Both containers are kegsin the example of FIG. 14. The report displays a relative fullness ofeach keg, obtained in accordance with data received from sensing devicesassociated with the kegs. The container 1402 is 9% full and thecontainer 1404 is 38% full. The display screen 1400 further provides thecontents of each of the containers. The container 1402 contains DoubleSkull Doppelback from EPIC Brewing Company, which is an 8.6% alcoholcontent Doppelback. The container 1404 contains Soft Parade form Short'sBrewing Company, which is a 7.5% alcohol content fruit beer. The lengthof time each container has been tapped is also shown. The container 1402has been tapped for 15 days and 6 hours. The container 1404 has beentapped for 4 days and 12 hours. The length of time is based on a timeelapsed since a first weight reading for the container was received froman associated sensing device. The display screen 1400 furtherillustrates a logo providing a graphical illustration of a size and arelative fullness of each container.

Recommendations may be displayed on the display screen 1400. Forexample, the recommendation 1406 is shown—to consider putting the DoubleSkull Doppelback on special because it has been on tap greater than athreshold time.

The executable instructions for sensor management encoded on thecomputer readable media 608 of FIG. 6 may include instructions forproviding reports, including the days on tap report shown in FIG. 14.The data used to generate the report may be stored in the memory 606and/or other memory accessible to the computing system 602. In someexamples, the mobile communication device 624 of FIG. 6 may beprogrammed to provide reports, such as the days on tap report shown inFIG. 14.

FIG. 15 is a display image of a digital display of a menu arranged inaccordance with examples described herein. Data collected using sensingdevices described herein may be used to provide digital signs, includingmenus and/or listings of available liquids.

The menu 1500 lists the contents of ten taps available at anestablishment. The contents are listed including beer name, breweryname, alcohol content, and beer type. An icon is provided by each listedcontents illustrating a type, size, and relative fullness of thecontainer. Different icons may be used for different keg types, and thekeg may be depicted at a fullness level in accordance with a fullness ofthe keg, as indicated by a transmission from one or more sensing devicesdescribed herein. In some examples, a color of the icon (e.g. a color ofthe liquid shown filling the keg to a fullness level in each icon) maybe selected in accordance with the type of beer (e.g. a lighter brownfor pilsner, reddish brown for amber, dark brown for stout). The menu1500 further includes pricing information for various sizes availablefor purchase at the establishment.

In this manner, a menu may be dynamically updated using data receivedfrom one or more sensing devices described herein, e.g. data in thememory 606 or other storage devices of FIG. 6.

The menu 1500 may be displayed on any display device including, but notlimited to, a television, monitor, LCD or LED display, touchscreen,tabletop display, projected display, or augmented or virtual realitydisplay. In some examples, Google ChromeCast or similar devices may beused to display data (e.g. Menu 1500) from one or more other devices(e.g. Computing system 602 and/or mobile communication device 624 ofFIG. 6) onto a connected display screen. The data on the menu 1500 maybe dynamically updated in accordance with information received fromsensing devices in systems described herein. For example, if a containeris changed and a new container paired with a sensing device, theprevious product may cease to be displayed on the menu 1500 and the sizeand contents of the next container may be displayed on the menu 1500 inits place.

From the foregoing it will be appreciated that, although specificembodiments of the invention have been described herein for purposes ofillustration, various modifications may be made without deviating fromthe spirit and scope of the invention.

What is claimed is:
 1. A method comprising: receiving a notification, ata user device, that a first container monitored by a sensing devicepositioned under the first container has been replaced by a secondcontainer; receiving, at the user device, an indication of a size andcontents of the second container; and transmitting the indication of thesize and contents of the second container to a computing system, whereinthe computing system is configured to associate the size and contents ofthe second container with the sensing device.
 2. The method of claim 1wherein the first container and the second container are kegs.
 3. Themethod of claim 1 wherein the sensing device is configured toperiodically transmit an ID of the sensing device and an indication of aweight of the second container.
 4. The method of claim 3 wherein thecomputing system is configured to associate the size and contents of thesecond container with the ID of the sensing device.
 5. The method ofclaim 1 wherein the notification is received responsive to a weight ofthe first container falling below a first threshold and a weight of thesecond container being above a second threshold.
 6. The method of claim1 wherein the user device is a mobile communication device.
 7. Themethod of claim 1 further comprising: providing, by the user device,suggested sizes and contents of the second container based, at least inpart, on a weight of the second container.
 8. The method of claim 7wherein the suggested sizes and contents of the second container arebased, at least in part, on an inventory at a location housing thesecond container.
 9. The method of claim 7 wherein the suggested sizesand contents of the second container are displayed in an order based, atleast in part, on popularity of certain contents in a region including alocation housing the second container.
 10. The method of claim 1 whereinthe sensing device is associated with a tap.
 11. A computing systemcomprising: one or more processing units; memory accessible to the oneor more processing units, the memory configured to store associationsbetween sensing devices and sizes and contents of containers positionedabove the sensing devices; at least one computer readable medium encodedwith instructions, which when executed by the one or more processingunits cause the computing system to perform actions, the actionsincluding: receiving periodic transmissions from at least one of thesensing devices, the periodic transmissions including an ID of thesensing device and an indication of a weight of a container positionedabove the sensing device; responsive to a transmission from the sensingdevice indicative of a weight below a first threshold and a subsequenttransmission from the sensing device indicative of a weight above asecond threshold, transmitting a notification to a user device that thecontainer has been replaced with a next container; receiving, from theuser device, an indication of a size and contents of the next container;and updating the memory to associate the sensing device with the sizeand contents of the next container.
 12. The computing system of claim 11wherein the container and the next container comprise kegs.
 13. Thecomputing system of claim 11 wherein the indication of the size andcontents of the container comprise a type of beer in the container. 14.The computing system of claim 11, the actions further including:associating a location with the sensing device based on the ID of thesensing device and a gateway from which the periodic transmissions werereceived.
 15. The computing system of claim 14, the actions furtherincluding: transmitting indications of available inventory at thelocation to the user device; and wherein the indication of the size andcontents of the next container comprises a selection from the availableinventory.
 16. The computing system of claim 14, the actions furtherincluding: transmitting suggested sizes and contents to the user device,wherein the suggested sizes and contents are based, at least in part, onconsumption data in a region including the location.
 17. The computingsystem of claim 11, the actions further including: transmittingsuggested sizes and contents to the user device, wherein the suggestedsizes and contents are based, at least in part, on the periodictransmissions from the sensing device.
 18. The computing system of claim11, wherein the sensing device is associated with a tap.
 19. Thecomputing system of claim 11, wherein the container comprises a keg andwherein the sensing device is positioned beneath the keg and configuredto weigh the keg.
 20. The computing system of claim 11, the actionsfurther including: transmitting an indication of the contents and levelof the container to a display device.